The present invention relates to a distributed system in which processors each incorporated in one of a plurality of control machines or objects are mutually linked in operation, and more particularly to a distributed system which is employed in the environment where the state of the surroundings of the control machines or the objects is continuously changed due to a transfer of a control machine or an object, or a change in a control target, and in the system, devices each included in or connected to one of the control machines or the objects having a function to mutually transmit/receive data and a function to perform a given process (for example, a function to perform a program) are mutually linked based on information on the physical environment in which the devices are placed, or are locally linked according to conditions based on information on their current operations such as what action or process each device is performing.
Since downsizing of semiconductor devices has progressed as higher-performance and finer semiconductors have been developed, use of a processor having a computational capability is not limited to dedicated computers but it has been incorporated into all types of devices. Furthermore, means for communicating with computer systems through these devices are being established, as represented by the Internet. A communication function which can be used by devices having the above communication function or devices in general is PHS (Personal Handyphone System). PHS provides voice communications between terminals. A terminal establishes a connection with the other terminal by explicitly dialing the other terminal's number, which is also used as its communication terminal address. In PHS, communication is disconnected by sending a termination instruction to a terminal.
A technique for searching a plurality of devices for a link target and establishing a link with it is described, for example, in IEEE Transaction Computer, Vol. C-29, No. 12, pp. 1104-1113 “The Contract Net Protocol: High-level Communication and Control in a Distributed Problem Solver”.
According to a method described in the above IEEE document, a device searching for a link target sends a request, and a device which has received the request sends an index as a response indicating whether it can process the request. The device which has sent the request checks each index it receives, and determines a device to be linked. In this technique, however, each device must have the ability to estimate an index for each request. Furthermore, this technique has given no consideration to changes in the operational state of a linked device and dynamic changes in an estimated index. As processors have become smaller and shown higher performance, they have been incorporated in not only dedicated computers but also machines and objects which conventionally do not have a computational capability. On the other hand, these machines and objects each has its control target or role in the environment where it exists, and according to changes in the control target or the role, each machine or object may be moved, replaced with a new purchased one, or changed in its composition by assembling or disassembling it. It may also be necessary for the machines to change the contents of their processing or for the machines and objects to be mutually linked to perform a certain purpose.
The above conventional technique was developed mainly for management on the computer side, and therefore requires a device functioning as a server for controlling the configuration between devices, or a common transmission medium needed for searching for a link target. Because of this, in order to form a link, a device must search for another device having a matching function through a server, and furthermore, it is necessary to install a server that is not subjected to any movement or replacement, causing a problem in flexible configuration. Another problem is that it is difficult to replace a server in the environment in which a linked device or a machine having a linked device therein operates continuously. This means that it is difficult to replace a server according to technical advancement or to maintain the server. Furthermore, a range in which devices can be linked is limited to a range controlled by a server, and therefore, to link devices beyond each server control range, a linking mechanism between servers or a mechanism integrating a plurality of servers is required, resulting in a large and complicated mechanism employed on the computer system side. With no such a mechanism provided, a server control range must coincide with an actual operational control range. However, it is very difficult to design a server so that its control range will match an actual operational control range.
To form a link relationship between devices, a device provided by the above conventional technique communicates with a nearest server selected from among severs available such as earth stations, or determines a link target based on device specifications obtained from a server. Because of this, whether or not to establish a link, or which device to select from devices of the same type as a link target is dependent on static information such as device specifications. Each control target or object to which a link target device is connected differs in its control method, role, and importance, depending on its position and relative relationship with other devices. In the above conventional technique, however, a relationship between linked devices is not considered when their link is formed, and as a result, a problem arises that devices are linked even though their positions are not suitable for a link operation, or a device of no use is continuously operated. To avoid this, manual maintenance or regular maintenance is required, making it impossible to sufficiently reduce the user's time and labor, which is a purpose of creation of such a linking system.
Furthermore, since system conditions change with time according to the configuration and operational conditions of devices constituting the system, or changes in environmental conditions, it is often impossible to estimate the range of devices which should be linked in operation, beforehand. The above conventional technique has given no consideration to this uncertain state, and as a result, fails to accomplish its intended usability.
To maintain links between devices, the above conventional technique employs a server to manage the configuration of devices, and a device with which it has become possible to form a link is registered with the server. This causes another problem that when a device forms a link and then a more suitable link target appears, the device cannot detect the update in configuration. To detect a configuration update, it is necessary to wait for information provided by a server to be updated and to regularly make inquiries about an update to the server, which increases a load on the server when the number of devices employed in the system has increased. The above conventional technique has given no consideration to a method for updating links to form a link with a more suitable target according to changes in the conditions and positions of control targets or objects to which a link target device is connected, causing a problem in the usability of the system.